<?php

/**
 * 在 PHP 5.6.40 环境下以 Mysqli 方式连接数据库;
 * Coding By GF;
 */

header("Content-Type: text/html;charset=utf-8");

class database {
    
    public $host = '127.0.0.1';
    public $database = 'xxxxxx';
    public $username = 'xxxxxx';
    public $password = 'xxxxxx';

    public function connect() {
        
        $host = $this->host;
        $username = $this->username;
        $password = $this->password;
        $database = $this->database;

        //创建mysql_connect数据库连接。
        $conn = mysqli_connect($host.":3306", $username, $password, $database);

        if (mysqli_connect_errno($con)) {
            
            //显示出错误信息。
            die("Database Connect Failed : ".mysqli_connect_error()."<br />");
            
        }else {
            
            echo "Database Connect Successful<br />";
            
            return $conn;
            
        }
        
    }
    
    public function insert() {
        
        $conn = $this->connect();
        
        $sql = "INSERT INTO 测试_工商银行_20101231_20201231 (日期, 名称, 代码, 开盘价) 
                                                     VALUES ('2022-10-10', '中国银行', '601399', 44,50)";
                                                     
        //执行插入语句
        $result = mysqli_query($conn, $sql);
        
        //判断插入是否成功。
        if ($result == TRUE) {
            
            //成功后的提示。
	        echo "Database Insert Successful<br />";
	        
        }else {
            
            //失败后的出错提示。
            echo "Database Insert Failed : ".mysqli_error($conn)."<br />";
            
        }
        
        mysqli_close($conn);

    }
    
    public function delete() {//需更改
        
        $conn = $this->connect();

        $sql = "DELETE FROM 测试_工商银行_20101231_20201231 WHERE 日期='2022-10-10';";

        //query()与mysqli_query()使用
        //mysqli_query($conn, ”sql语句”);
        //$conn->query(”sql语句”);
        $res = $conn->query($sql);
        
        //判断删除是否成功。
        if ($res == TRUE) {

            //成功后的提示。
	        echo "Database Delete Successful<br />";

	        
        }else {
            
            //失败后的出错提示。
            echo "Database Delete Failed : ".mysqli_error($conn)."<br />";
            
        }

        mysqli_close($conn);

    }

    public function select() {

        $conn = $this->connect();

        $sql = "SELECT * FROM 测试_工商银行_20101231_20201231 LIMIT 0,10";

        //query()与mysqli_query()使用
        //mysqli_query($conn, ”sql语句”);
        //$conn->query(”sql语句”);
        $res = $conn->query($sql);

        //判断查询是否成功。
        if ($res == TRUE) {

            //成功后的提示。
	        echo "Database Select Successful<br />";

	        //fetch_all()抓取所有的结果行并且以关联数据，数值索引数组，或者两者皆有的方式返回结果集。
            //fetch_array()以一个关联数组，数值索引数组，或者两者皆有的方式抓取一行结果。
            //fetch_object()以对象返回结果集的当前行。
            //fetch_row()以枚举数组方式返回一行结果。
            //fetch_assoc()以一个关联数组方式抓取一行结果。
            //fetch_field_direct()以对象返回结果集中单字段的元数据。
            //fetch_field()以对象返回结果集中的列信息。
            //fetch_fields()以对象数组返回代表结果集中的列信息。
            //参数MYSQL_ASSOC、MYSQLI_NUM、MYSQLI_BOTH规定产生数组类型。
            $data = $res->fetch_all(MYSQLI_ASSOC);
            
            //构造表头
            echo "<table border='1'>
                      <tr>
                          <th>日期</th>
                          <th>名称</th>
                          <th>代码</th>
                          <th>开盘价</th>
                      </tr>";

            foreach ($data as $key => $value) {

                echo "<tr>";
                echo     "<td>".$value['日期']."</td>";
                echo     "<td>".$value['名称']."</td>";
                echo     "<td>".$value['代码']."</td>";
                echo     "<td>".$value['开盘价']."</td>";
                echo "</tr>";

            }
	        
        }else {
            
            //失败后的出错提示。
            echo "Database Select Failed : ".mysqli_error($conn)."<br />";
            
        }

        mysqli_close($conn);
        
    }

    public function update(){
        
        $conn = $this->connect();

        $sql = "UPDATE 测试_工商银行_20101231_20201231 SET 开盘价='50' WHERE 日期='2022-10-07';";

        //query()与mysqli_query()使用
        //mysqli_query($conn, ”sql语句”);
        //$conn->query(”sql语句”);
        $res = $conn->query($sql);
        
        //判断更新是否成功。
        if ($res == TRUE) {

            //成功后的提示。
	        echo "Database Update Successful<br />";

	        
        }else {
            
            //失败后的出错提示。
            echo "Database Update Failed : ".mysqli_error($conn)."<br />";
            
        }

        mysqli_close($conn);

    }
    
    //统计表的总行数
    public function count_rows(){
        
        $conn = $this->connect();

        $sql = "SELECT * FROM 测试_工商银行_20101231_20201231;";

        //query()与mysqli_query()使用
        //mysqli_query($conn, ”sql语句”);
        //$conn->query(”sql语句”);
        $res = $conn->query($sql);
        
        //判断查询是否成功。
        if ($res == TRUE) {

            //成功后的提示。
	        echo "Database Update Successful<br />";

	        $count = mysqli_num_rows($res);
	        
	        echo $count." Row in Total";
	        
        }else {
            
            //失败后的出错提示。
            echo "Database Update Failed : ".mysqli_error($conn)."<br />";
            
        }

        mysqli_close($conn);

    }

}

$classtest = new database();
//$classtest->connect();
//$classtest->insert();
//$classtest->delete();
//$classtest->update();
//$classtest->count_rows();
$classtest->select();

?>
